<?php
namespace Admin\Controller;
use Common\Model\UserModel;
use Common\Model\LogModel;
use Common\Model\UserTokenModel;
/**
 * 登录控制器
 */
class LoginController extends BashController{
    /**
     * 构造函数
     */
    public function __construct() {
        parent::__construct();
        // 设置不显示菜单
        $this->assign('_self_menu',TRUE);
    }

    /**
     * 登录操作
     * @return type
     */
    public function loginAction(){
        $post = I('post.');
        if(empty($post)){
            return $this->display();
        }
        $user = new UserModel();
        // 查询用户的个人信息
        $info = $user->login(I('post.username'),I('post.passwd'));
        if($info){
            if(empty($info['admin_group_val']) && $info['admin_group'] != 1){
                return $this->error('抱歉,您没有权限登录本系统');
            }
            session('u_info',$info);
            // 设置用户登录日志
            $log = new LogModel();
            $log->user_login_admin($info['id']);
            // 记录用户Token
            // 因为后台可以多个地方同时登录一个账号，故此处放开token数量限制
            $_token = new UserTokenModel();
            $token = pass(microtime());
            $_token->create_info(array(
                'uid'=>$info['id'], 
                'type' => 2,
                'token' => $token
            ));
            // 将token保存到session及cookie中
            session('u_token',$token);
            if($post['is_me']){
                // 如果标记了记住状态就在cookie中也保存一条
                cookie('u_token', $token);
            }
            return $this->success('登录成功',U('Index/index'));
        }
        return $this->error('用户名/密码输入错误');
    }
}